﻿using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;

namespace LinkyPOS.Class
{
    internal class siparisler2 : odemedurumu
    {
        private linkDataContext ly = new linkDataContext();

        private int siparisID; // bir müşterinin o dakikada  vardiği tüm ürünleri içeren birim harekettir//

        // bu hareketin  veritabanındaki sırası idsidir
        private string sipariskodu; // Mağazaya bağlı olarak OPT gibi bir kod ile eklenene siparişin personel ve müşteri için anlam ifade eden kodudur

        private int musteriID; // müşterinin kayıt anında yada daha önceden oluşturulmuş kodudur

        private string musteri_bilgileri;
        private int teslimtipi;

        // evden teslim veya mağaza teslim belirteçlerinin denetlendiği dğeişkendir
        private int alimtipi;

        // eve teslim edilecek yada müşterinin mağzadan teslim almasını denetleyen bir değişkendir

        private DateTime alimtarihi;

        // müşterinin ürünleri teslim ettiği tarih yani siparişin oluşturulduğu tarihtir

        private TimeSpan alimsaati; // siparişin oluşturuldupu saat dir

        private double toplambrut;  // siparişin toplam iskontosuz tutarını denetler

        private double iskonto;   // o siparişe yapılacak indirimi yüzdelik cinsinden belirler

        private string referans;  // sınırı aşan iskontolarda referans gösterilecek kişiyi denetleyen değişkendir
        private double net;  // iskonto uygulandıktan sonra siparişin net tutarını denetler

        private int durum;   // siparişin  teslim edilme{edildi ise ödemesi alınıp alınmadığını} ,tahsilatın ne tip olduğunu ve hangi güne ait olduğunu denetler durumunu denetler

        private DateTime odemetarihi;

        public siparisler2()
        {
            siparisID = -1;
            sipariskodu = "";
            musteriID = -1;
            alimtipi = 1;
            alimtarihi = DateTime.Now;
            teslimtipi = 1;
            toplambrut = 0.00;
            iskonto = 0;
            net = 0.00;
            referans = "";
            durum = 0;
        }

        public int SiparidID
        {
            get { return siparisID; }

            set { siparisID = value; }
        }

        public string Sipariskodu
        {
            get { return sipariskodu; }

            set { sipariskodu = value; }
        }

        public int MusteriID
        {
            get { return musteriID; }

            set { musteriID = value; }
        }

        public int Alimtipi
        {
            get { return alimtipi; }

            set { alimtipi = value; }
        }

        public DateTime Odemetarihi
        {
            get { return odemetarihi; }
            set { odemetarihi = value; }
        }

        public DateTime Alimtarihi
        {
            get { return alimtarihi; }
            set { alimtarihi = value; }
        }

        public TimeSpan Alimsaati
        {
            get { return alimsaati; }
            set { alimsaati = value; }
        }

        public int Teslimtipi
        {
            get { return teslimtipi; }
            set { teslimtipi = value; }
        }

        public string Referans
        {
            get { return referans; }
            set { referans = value; }
        }

        public double Toplambrut
        {
            get { return toplambrut; }
            set { toplambrut = value; }
        }

        public double Net
        {
            get { return net; }
            set { net = value; }
        }

        public double Iskonto
        {
            get { return iskonto; }
            set { iskonto = value; }
        }

        public int Durum
        {
            get { return durum; }
            set { durum = value; }
        }

        public void sipariskaydet()
        {
            siparisler sip = new siparisler()
            {
                sipariskodu = sipariskodu,
                musteriID = musteriID,
                teslimtipi = teslimtipi,
                alimtipi = alimtipi,
                alimsaati = alimsaati,
                alimtarihi = alimtarihi,
                toplambrut = toplambrut,
                iskonto = iskonto,
                referans = referans,
                net = net,
                durum = durum,
                odemetarihi = odemetarihi
            };

            ly.siparislers.InsertOnSubmit(sip);
            ly.SubmitChanges();
        }

        public void siparisgetir(string sipariskodu)
        {
            try
            {
                var orders = from o in ly.siparislers
                             where o.sipariskodu == sipariskodu
                             select o;

                foreach (var item in orders)
                {
                    siparisID = item.siparisID;
                    sipariskodu = item.sipariskodu;
                    musteriID = (int)item.musteriID;
                    teslimtipi = (int)item.teslimtipi;
                    alimtipi = (int)item.alimtipi;
                    alimtarihi = item.alimtarihi;
                    alimsaati = item.alimsaati;
                    toplambrut = (double)item.toplambrut;
                    iskonto = (double)item.iskonto;
                    referans = item.referans;
                    net = (double)item.net;
                    odemetarihi = (DateTime)item.odemetarihi;
                    durum = (int)item.durum;
                }
            }

            catch (Exception d)
            {
                err2 er = new err2(d.ToString(), "siparisler");
            }
        }

        public bool siparisdurumset(int durum, int ID)
        {
            bool ok = false;
            string[] kolonlar = { "durum", "odemetarihi" };
            string[] degerler = { durum.ToString(), dateandunit.sadecetarih() };
            dataCUD.guncelle("siparisler", kolonlar, degerler, "siparisID", ID.ToString());
            return ok;
        }

        public bool siparisdurumset2(int durum, int ID)
        {
            bool ok = false;
            string[] kolonlar = { "durum", "odemetarihi" };
            string[] degerler = { durum.ToString(), dateandunit.sadecetarih() };
            dataCUD.guncelle("siparisler", kolonlar, degerler, "siparisID", ID.ToString());
            return ok;
        }

        public void siparisdurumset3()
        {
            siparisler sip = ly.siparislers.Single(sk => sk.sipariskodu == sipariskodu);
            {
                sip.odemetarihi = odemetarihi;
                sip.alimtarihi = alimtarihi;
                sip.durum = durum;
                sip.net = net;
                sip.toplambrut = toplambrut;
                sip.durum = durum;
            }

            ly.SubmitChanges();
        }

        public static string sonsipariskodu()
        {
            string sipkod = "";
            SqlConnection sqlcon = connection.baglanti;
            SqlCommand sqlcmd = new SqlCommand("select  top(1)* from  siparisler order by siparisID desc", sqlcon);

            sqlcon.Open();
            SqlDataReader sdr = sqlcmd.ExecuteReader();
            while (sdr.Read())
            {
                sipkod = sdr["sipariskodu"].ToString();
            }
            sqlcon.Close();

            return sipkod;
        }

        public string musteribilgileri
        {
            get { return musteri_bilgileri; }

            set { musteri_bilgileri = value; }
        }

        //siparis kodu ile arandığında
        public static List<siparisler2> sipkodulikegetir(string ad)
        {
            List<siparisler2> mst = new List<siparisler2>();

            SqlConnection sqlcon = connection.baglanti;
            SqlCommand sqlcmd = new SqlCommand("select sipariskodu from siparisler where sipariskodu like '" + panel.magazakodu + "-" + ad + "%' and (durum=1 or durum=2 or durum=3)", sqlcon);
            sqlcon.Open();

            SqlDataReader sdr = sqlcmd.ExecuteReader();
            while (sdr.Read())
            {
                siparisler2 s = new siparisler2();
                s.sipariskodu = sdr["sipariskodu"].ToString();

                mst.Add(s);
            }

            sqlcon.Close();
            return mst;
        }

        public static List<siparisler2> sipkodulikegetir2(string ad)
        {
            List<siparisler2> mst = new List<siparisler2>();

            SqlConnection sqlcon = connection.baglanti;
            SqlCommand sqlcmd = new SqlCommand("select sipariskodu from siparisler where sipariskodu like '" + panel.magazakodu + "-" + ad + "%' ", sqlcon);
            sqlcon.Open();

            SqlDataReader sdr = sqlcmd.ExecuteReader();
            while (sdr.Read())
            {
                siparisler2 s = new siparisler2();
                s.sipariskodu = sdr["sipariskodu"].ToString();

                mst.Add(s);
            }

            sqlcon.Close();
            return mst;
        }

        //isim kodu ile arandığında
        public static List<siparisler2> sipkodulikegetirisim(string ad)
        {
            List<siparisler2> mst = new List<siparisler2>();

            SqlConnection sqlcon = connection.baglanti;
            SqlCommand sqlcmd = new SqlCommand("select * from musteriler as m inner join siparisler as s on m.musteriID=s.musteriID where isim+soyisim like '" + ad + "%' and (durum=1 or durum=2 or durum=3)", sqlcon);
            sqlcon.Open();

            SqlDataReader sdr = sqlcmd.ExecuteReader();
            while (sdr.Read())
            {
                siparisler2 s = new siparisler2();
                s.sipariskodu = sdr["sipariskodu"].ToString();

                mst.Add(s);
            }

            sqlcon.Close();
            return mst;
        }

        public static List<siparisler2> sipkodulikegetirisim2(string ad)
        {
            List<siparisler2> mst = new List<siparisler2>();

            SqlConnection sqlcon = connection.baglanti;
            SqlCommand sqlcmd = new SqlCommand("select * from musteriler as m inner join siparisler as s on m.musteriID=s.musteriID where isim+soyisim like '" + ad + "%'", sqlcon);
            sqlcon.Open();

            SqlDataReader sdr = sqlcmd.ExecuteReader();
            while (sdr.Read())
            {
                siparisler2 s = new siparisler2();
                s.sipariskodu = sdr["sipariskodu"].ToString();

                mst.Add(s);
            }

            sqlcon.Close();
            return mst;
        }

        // telefon numarası ile

        //siparis kodu ile arandığında
        public static List<siparisler2> sipkodulikegetitelefon(string ad)
        {
            List<siparisler2> mst = new List<siparisler2>();

            SqlConnection sqlcon = connection.baglanti;
            SqlCommand sqlcmd = new SqlCommand("select * from musteriler as m inner join siparisler as s on m.musteriID=s.musteriID  where telefon like '" + ad + "%' and (durum=1 or durum=2 or durum=3)", sqlcon);
            sqlcon.Open();

            SqlDataReader sdr = sqlcmd.ExecuteReader();
            while (sdr.Read())
            {
                siparisler2 s = new siparisler2();
                s.sipariskodu = sdr["sipariskodu"].ToString();

                mst.Add(s);
            }

            sqlcon.Close();
            return mst;
        }

        //siparis kodu ile arandığında
        public static List<siparisler2> sipkodulikegetitelefon2(string ad)
        {
            List<siparisler2> mst = new List<siparisler2>();

            SqlConnection sqlcon = connection.baglanti;
            SqlCommand sqlcmd = new SqlCommand("select * from musteriler as m inner join siparisler as s on m.musteriID=s.musteriID  where telefon like '" + ad + "%'", sqlcon);
            sqlcon.Open();

            SqlDataReader sdr = sqlcmd.ExecuteReader();
            while (sdr.Read())
            {
                siparisler2 s = new siparisler2();
                s.sipariskodu = sdr["sipariskodu"].ToString();

                mst.Add(s);
            }

            sqlcon.Close();
            return mst;
        }

        // siparislerin metodlarıın yazılmasına gelindi

        // sipariş teslim edilmedi ancak tüm ürünler teslim edilmelimi ??
        // tbaiki hayır
        // sipariş teslim edilmeden en ez bir adet ürün kalacak şekilde diğer ürünlerin teslimleri yapılmalı ancak son ürün  siparişin teslim edilmesi ile yapılabilmeli

        // belirli bir doneme iat siparişleri list olarak getiren metodlar

        /*
           var q =
       from c in nd.Categories
       join p in nd.Products on c.CategoryID equals p.CategoryID
       where c.CategoryID>5
       select new { c.CategoryName, p.ProductName };

            foreach (var item in q)
	{
		 Response.Write(item.CategoryName+"-"+item.ProductName+"<br/>");
	}
         */

        public List<siparisler2> tumsiparisler()
        {
            var sipar = (from sip in ly.siparislers
                         join m in ly.musterilers on sip.musteriID equals m.musteriID
                         select new { sip, m }).ToList();

            List<siparisler2> sipar2 = new List<siparisler2>();
            foreach (var item in sipar)
            {
                siparisler2 s = new siparisler2();
                s.sipariskodu = item.sip.sipariskodu;
                s.musteri_bilgileri = item.m.isim + " " + item.m.soyisim + " " + item.m.telefon;
                s.net = Convert.ToDouble(item.sip.net);
                s.toplambrut = Convert.ToDouble(item.sip.toplambrut);
                s.iskonto = Convert.ToDouble(item.sip.iskonto);
                s.alimtarihi = Convert.ToDateTime(item.sip.alimtarihi);
                s.durum = (int)item.sip.durum;
                s.odemetarihi = Convert.ToDateTime(item.sip.odemetarihi);
                sipar2.Add(s);
            }

            return sipar2;
        }

        // bir gune ait siparisleri
        public List<siparisler2> tumsiparisler(DateTime tar)
        {
            var sipar = (from sip in ly.siparislers
                         join m in ly.musterilers on sip.musteriID equals m.musteriID
                         where sip.alimtarihi == tar
                         select new { sip, m }).ToList();

            List<siparisler2> sipar2 = new List<siparisler2>();
            foreach (var item in sipar)
            {
                siparisler2 s = new siparisler2();
                s.sipariskodu = item.sip.sipariskodu;
                s.musteri_bilgileri = item.m.isim + " " + item.m.soyisim + " " + item.m.telefon;
                s.net = Convert.ToDouble(item.sip.net);
                s.toplambrut = Convert.ToDouble(item.sip.toplambrut);
                s.iskonto = Convert.ToDouble(item.sip.iskonto);
                s.alimtarihi = Convert.ToDateTime(item.sip.alimtarihi);
                s.durum = (int)item.sip.durum;
                s.odemetarihi = Convert.ToDateTime(item.sip.odemetarihi);
                sipar2.Add(s);
            }

            return sipar2;
        }

        // bir doneme ait siparisleri
        public List<siparisler2> tumsiparisler(DateTime tar, DateTime tar2)
        {
            var sipar = (from sip in ly.siparislers
                         join m in ly.musterilers on sip.musteriID equals m.musteriID
                         where sip.alimtarihi <= tar2 && sip.alimtarihi >= tar
                         select new { sip, m }).ToList();

            List<siparisler2> sipar2 = new List<siparisler2>();
            foreach (var item in sipar)
            {
                siparisler2 s = new siparisler2();
                s.sipariskodu = item.sip.sipariskodu;
                s.musteri_bilgileri = item.m.isim + " " + item.m.soyisim + " " + item.m.telefon;
                s.net = Convert.ToDouble(item.sip.net);
                s.toplambrut = Convert.ToDouble(item.sip.toplambrut);
                s.iskonto = Convert.ToDouble(item.sip.iskonto);
                s.alimtarihi = Convert.ToDateTime(item.sip.alimtarihi);
                s.durum = (int)item.sip.durum;
                s.odemetarihi = Convert.ToDateTime(item.sip.odemetarihi);
                sipar2.Add(s);
            }

            return sipar2;
        }

        // linq sorguları gereği çaitli eksra süzmeler yapılması gerekiliyor bunlar yapılşacak
        public List<siparisler2> raftakiler()
        {
            List<siparisler2> rft = new List<siparisler2>();
            SqlConnection sqlcon = connection.baglanti;
            SqlCommand sqlcmd = new SqlCommand("select * from siparisler as s inner join musteriler as m on s.musteriID=m.musteriID where durum=1 or durum=2 or durum =3", sqlcon);
            sqlcon.Open();

            SqlDataReader sdr = sqlcmd.ExecuteReader();
            while (sdr.Read())
            {
                siparisler2 s = new siparisler2();
                s.sipariskodu = sdr["sipariskodu"].ToString();
                s.musteri_bilgileri = sdr["isim"].ToString() + " " + sdr["soyisim"].ToString() + " " + sdr["telefon"].ToString();
                s.net = Convert.ToDouble(sdr["net"]);
                s.durum = Convert.ToInt32(sdr["durum"]);
                s.alimtarihi = Convert.ToDateTime(sdr["alimtarihi"]);
                s.odemetarihi = Convert.ToDateTime(sdr["odemetarihi"]);

                rft.Add(s);
            }

            sqlcon.Close();

            return rft;
            //List<siparisler> raft = (from r in ly.siparislers
            //                        where ((r.durum equals 1)  || (r.durum=2) || (r.durum=3))
            //                        select r).ToList();

            //return raft;
        }

        public List<siparisler> iptaler()
        {
            List<siparisler> raft = (from r in ly.siparislers
                                     where r.durum == 19
                                     select r).ToList();

            return raft;
        }

        public List<siparisler> iptaler(DateTime tar)
        {
            List<siparisler> raft = (from r in ly.siparislers
                                     where r.durum == 19
                                     select r).ToList();

            return raft;
        }

        public List<siparisler> iptaler(DateTime tar1, DateTime tar2)
        {
            List<siparisler> raft = (from r in ly.siparislers
                                     where r.alimtarihi == tar1
                                     select r).ToList();

            return raft;
        }

        public List<siparisler> iskontolar()
        {
            List<siparisler> raft = (from r in ly.siparislers
                                     where r.durum == 1
                                     select r).ToList();

            return raft;
        }

        public List<siparisler> iskontolar(DateTime tar)
        {
            List<siparisler> raft = (from r in ly.siparislers
                                     where r.durum == 1
                                     select r).ToList();

            return raft;
        }

        public List<siparisler> iskontolar(DateTime tar1, DateTime tar2)
        {
            List<siparisler> raft = (from r in ly.siparislers
                                     where r.durum == 1
                                     select r).ToList();

            return raft;
        }

        //public List<siparisler2> olaylar()
        //{
        //    List<siparisler2> sip2 = new List<siparisler2>();
        //    DateTime a = DateTime.Now;
        //    var olaylar = (from o in ly.siparislers
        //                   join m in ly.musterilers
        //                       on o.musteriID equals m.musteriID
        //                   where o.alimtarihi == DateTime.Now.Date || o.odemetarihi== DateTime.Now.Date
        //                   select new { o, m }).ToList();

        //    foreach (var item in olaylar)
        //    {
        //        siparisler2 s = new siparisler2();

        //        s.sipariskodu = item.o.sipariskodu;
        //        s.toplambrut =Convert.ToDouble(item.o.toplambrut);
        //        s.iskonto = Convert.ToDouble(item.o.iskonto);
        //        s.net = Convert.ToDouble(item.o.net);
        //        s.durum = Convert.ToInt32(item.o.durum);
        //        s.alimtarihi = Convert.ToDateTime(item.o.alimtarihi);
        //        s.odemetarihi = Convert.ToDateTime(item.o.odemetarihi);
        //        s.musteri_bilgileri = item.m.isim + " " + item.m.soyisim + " " + item.m.telefon;

        //        sip2.Add(s);

        //    }

        //    return sip2;
        //}

        public List<siparisler2> olaylar(DateTime tar)
        {
            List<siparisler2> sip2 = new List<siparisler2>();
            DateTime a = DateTime.Now;
            var olaylar = (from o in ly.siparislers
                           join m in ly.musterilers
                               on o.musteriID equals m.musteriID
                           where o.alimtarihi == tar || o.odemetarihi == tar
                           select new { o, m }).ToList();

            foreach (var item in olaylar)
            {
                siparisler2 s = new siparisler2();

                s.sipariskodu = item.o.sipariskodu;
                s.toplambrut = Convert.ToDouble(item.o.toplambrut);
                s.iskonto = Convert.ToDouble(item.o.iskonto);
                s.net = Convert.ToDouble(item.o.net);
                s.durum = Convert.ToInt32(item.o.durum);
                s.alimtarihi = Convert.ToDateTime(item.o.alimtarihi);
                s.odemetarihi = Convert.ToDateTime(item.o.odemetarihi);
                s.musteri_bilgileri = item.m.isim + " " + item.m.soyisim + " " + item.m.telefon;

                sip2.Add(s);
            }

            return sip2;
        }

        public List<siparisler2> gunlukkredikarti(DateTime tar)
        {
            List<siparisler2> sip2 = new List<siparisler2>();

            var olaylar = (from o in ly.siparislers
                           join m in ly.musterilers
                               on o.musteriID equals m.musteriID
                           where (o.alimtarihi == tar || o.odemetarihi == tar) && (o.durum == 3 || o.durum == 5)
                           select new { o, m }).ToList();

            foreach (var item in olaylar)
            {
                siparisler2 s = new siparisler2();

                s.sipariskodu = item.o.sipariskodu;
                s.toplambrut = Convert.ToDouble(item.o.toplambrut);
                s.iskonto = Convert.ToDouble(item.o.iskonto);
                s.net = Convert.ToDouble(item.o.net);
                s.durum = Convert.ToInt32(item.o.durum);
                s.alimtarihi = Convert.ToDateTime(item.o.alimtarihi);
                s.odemetarihi = Convert.ToDateTime(item.o.odemetarihi);
                s.musteri_bilgileri = item.m.isim + " " + item.m.soyisim + " " + item.m.telefon;

                sip2.Add(s);
            }

            return sip2;
        }

        public List<siparisler2> gunluknakit(DateTime tar)
        {
            List<siparisler2> sip2 = new List<siparisler2>();
            DateTime a = DateTime.Now;
            var olaylar = (from o in ly.siparislers
                           join m in ly.musterilers
                               on o.musteriID equals m.musteriID
                           where (o.alimtarihi == tar || o.odemetarihi == tar) && (o.durum == 2 || o.durum == 4)
                           select new { o, m }).ToList();

            foreach (var item in olaylar)
            {
                siparisler2 s = new siparisler2();

                s.sipariskodu = item.o.sipariskodu;
                s.toplambrut = Convert.ToDouble(item.o.toplambrut);
                s.iskonto = Convert.ToDouble(item.o.iskonto);
                s.net = Convert.ToDouble(item.o.net);
                s.durum = Convert.ToInt32(item.o.durum);
                s.alimtarihi = Convert.ToDateTime(item.o.alimtarihi);
                s.odemetarihi = Convert.ToDateTime(item.o.odemetarihi);
                s.musteri_bilgileri = item.m.isim + " " + item.m.soyisim + " " + item.m.telefon;

                sip2.Add(s);
            }

            return sip2;
        }

        public List<siparisler2> gunlukeskinakit(DateTime tar)
        {
            List<siparisler2> sip2 = new List<siparisler2>();
            DateTime a = DateTime.Now;
            var olaylar = (from o in ly.siparislers
                           join m in ly.musterilers
                               on o.musteriID equals m.musteriID
                           where (o.alimtarihi == tar || o.odemetarihi == tar) && (o.durum == 6)
                           select new { o, m }).ToList();

            foreach (var item in olaylar)
            {
                siparisler2 s = new siparisler2();

                s.sipariskodu = item.o.sipariskodu;
                s.toplambrut = Convert.ToDouble(item.o.toplambrut);
                s.iskonto = Convert.ToDouble(item.o.iskonto);
                s.net = Convert.ToDouble(item.o.net);
                s.durum = Convert.ToInt32(item.o.durum);
                s.alimtarihi = Convert.ToDateTime(item.o.alimtarihi);
                s.odemetarihi = Convert.ToDateTime(item.o.odemetarihi);
                s.musteri_bilgileri = item.m.isim + " " + item.m.soyisim + " " + item.m.telefon;

                sip2.Add(s);
            }

            return sip2;
        }

        public List<siparisler2> gunlukeskivisa(DateTime tar)
        {
            List<siparisler2> sip2 = new List<siparisler2>();
            DateTime a = DateTime.Now;
            var olaylar = (from o in ly.siparislers
                           join m in ly.musterilers
                               on o.musteriID equals m.musteriID
                           where (o.alimtarihi == tar || o.odemetarihi == tar) && (o.durum == 7)
                           select new { o, m }).ToList();

            foreach (var item in olaylar)
            {
                siparisler2 s = new siparisler2();

                s.sipariskodu = item.o.sipariskodu;
                s.toplambrut = Convert.ToDouble(item.o.toplambrut);
                s.iskonto = Convert.ToDouble(item.o.iskonto);
                s.net = Convert.ToDouble(item.o.net);
                s.durum = Convert.ToInt32(item.o.durum);
                s.alimtarihi = Convert.ToDateTime(item.o.alimtarihi);
                s.odemetarihi = Convert.ToDateTime(item.o.odemetarihi);
                s.musteri_bilgileri = item.m.isim + " " + item.m.soyisim + " " + item.m.telefon;

                sip2.Add(s);
            }

            return sip2;
        }

        public List<siparisler2> gunlukcari(DateTime tar)
        {
            List<siparisler2> sip2 = new List<siparisler2>();
            DateTime a = DateTime.Now;
            var olaylar = (from o in ly.siparislers
                           join m in ly.musterilers
                               on o.musteriID equals m.musteriID
                           where o.alimtarihi == tar && o.durum == 1
                           select new { o, m }).ToList();

            foreach (var item in olaylar)
            {
                siparisler2 s = new siparisler2();

                s.sipariskodu = item.o.sipariskodu;
                s.toplambrut = Convert.ToDouble(item.o.toplambrut);
                s.iskonto = Convert.ToDouble(item.o.iskonto);
                s.net = Convert.ToDouble(item.o.net);
                s.durum = Convert.ToInt32(item.o.durum);
                s.alimtarihi = Convert.ToDateTime(item.o.alimtarihi);
                s.odemetarihi = Convert.ToDateTime(item.o.odemetarihi);
                s.musteri_bilgileri = item.m.isim + " " + item.m.soyisim + " " + item.m.telefon;

                sip2.Add(s);
            }

            return sip2;
        }
    }
}